]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
polkitAgent: Only set key focus to password entry after opening dialog
authorJonas Dreßler <verdre@v0yd.nl>
Mon, 24 Jun 2019 08:57:24 +0000 (10:57 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 5 Nov 2019 17:52:33 +0000 (18:52 +0100)
Set the key focus to the password field only after we got a request
(and therefore know that a password is requested) instead of using
`setInitialKeyFocus()`. This way we don't try to focus the password
field by default if we aren't showing it (e.g. in case the user has no
password or is using fingerprint login).

Also we have to move the call to `grab_key_focus()` to happen after
`_ensureOpen()`, because otherwise the ModalDialog will set the focus to
one of the buttons while opening itself.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/788

js/ui/components/polkitAgent.js

index 30d04d5c5d69fb3bea61ea361950c02737e42610..2393eff3e43671cc408f355be29a99b2933e7a45 100644 (file)
@@ -103,7 +103,6 @@ var AuthenticationDialog = GObject.registerClass({
         this._workSpinner = new Animation.Spinner(WORK_SPINNER_ICON_SIZE, true);
         this._passwordBox.add(this._workSpinner);
 
-        this.setInitialKeyFocus(this._passwordEntry);
         this._passwordBox.hide();
 
         this._errorMessageLabel = new St.Label({ style_class: 'prompt-dialog-error-label' });
@@ -260,9 +259,10 @@ var AuthenticationDialog = GObject.registerClass({
 
         this._passwordBox.show();
         this._passwordEntry.set_text('');
-        this._passwordEntry.grab_key_focus();
         this._updateSensitivity(true);
+
         this._ensureOpen();
+        this._passwordEntry.grab_key_focus();
     }
 
     _onSessionShowError(session, text) {